/*
* vue的插件库 https://cn.vuejs.org/v2/guide/plugins.html
* */
(
    function () {
        /*向外暴露的插件对象*/
        const MyPlugin = {}
        /*插件对象必须有install对象*/
        MyPlugin.install = function (Vue, options) {
            // 1. 添加全局方法或 property
            Vue.myGlobalMethod = function () {
                // 逻辑...
                console.log('Vue函数对象的方法：myGlobalMethod（）')
            }

            // 2. 添加全局资源
            Vue.directive('my-directive', function (el,binding) {
                    el.textContent = binding.value.toUpperCase();
                }

                /*{
                bind (el, binding, vnode, oldVnode) {
                    // 逻辑...

                }

            }*/)

            // 3. 注入组件选项
           /* Vue.mixin({
                created: function () {
                    // 逻辑...
                }
                ...
            })*/

            // 4. 添加实例方法
            Vue.prototype.$myMethod = function (methodOptions) {
                // 逻辑...
                /*添加$符区分实例的方法和，对象的方法*/
                console.log('调用了实例方法：$myMethod（）')
            }
        }

        /*如何向外暴露MyPlugin?*/
        window.MyPlugin = MyPlugin;
    }
)()